1. Field of the Invention
The present invention relates to a method of generating a flow label of an Internet Protocol version 6 (IPv6), and more particularly, to a method of generating a flow label of IPv6 based on information about a service protocol and a source/destination port at an IPv6 terminal in order to guarantee a service quality (QoS) at IPv6.
2. Description of the Related Art
An address scheme of an Internet protocol version 4 (IPv4) defines a flow of data stream based on five tuple configured of a source IP address, a destination IP address, a service protocol such as a transmission control protocol/user datagram protocol (TCP/UDP), a source port, and a destination port in order to classify data stream transmitted from a source to a destination. Additionally, the IPv4 guarantees a flow based quality of service (QoS) by additionally defining and using a service type (ToS) field or a different service code point (DSCP) field.
According to the development of Internet, the IPv4 was advanced to IPv6. The IPv6 allows a network device to classify flows of data stream according to the address scheme of the IPv4 for guaranteeing the Internet QoS. In case of the IPv6, various headers are overlapped in a chain based manner at a packet of the IPv6. Accordingly, it requires complicated operation steps to process the IPv6 packets to find a service protocol between a source and a destination and a source/destination port. Such an annoying and time consuming process slows down to process the IPv6 packets. In order to overcome such a drawback of the IPv6, the IPv6 supports a 1byte of a traffic class field that was defined in the IPv4 to provide a differentiated service, and also defines a 20 bit of a flow label having three tuple information in order to effectively and simply identify a source IPv6 address, a destination IPv6 address and a flow. If a network device uses such a flow label defined in the IPv6 to classify the flows of the data stream, processing overhead of the network device is reduced because the network device is not required to search many header information to find five tuple information.
The flow label defined in the IPv6 allows a network device to classify flows of data stream without searching headers to find information such as a service protocol, i.e., TCP/UDP, a source port and a destination port, which is attached front of a user protocol data in a packet when the network device receives a packet with many IPv6 headers. However, the flow label is not recognized by a network device that receives a packet with the flow label directly from a terminal in an IPv6 network. It is because the flow label is created by the terminal. Also, the flow label cannot be modified or changed by the network device. Such a limitation makes difficult to guarantee the signal quality (QoS) without specific signaling between the terminal and the network device.
In order to use the flow label, a terminal must previously set a network service quality guarantee based on a resource reservation protocol (RSVP) to generate the flow label. Or, the terminal must record values of a network service quality guarantee in a packet when the terminal transmit a first packet to a network device so that a network device recognizes the first packet as a packet already processed internally. However, conventional related technologies have drawbacks to classify the flows of the data stream as follows. At first, an Internet address scheme of IPv4 is not rapidly changed into the address scheme of IPv6. Also, a backbone router has an overhead problem of processing numerous flows and a flow aggregation problem in order to provide a flow based Internet QoS even in an IPv4 based network. Furthermore, the backbone router has a processing overhead of a flow refresh message which is periodically retransmitted.
As described above, a terminal forms a flow configured of five tuple information to classify each session when the terminal creates a header of an IPv6 packet. But, a network device has the processing overhead problem due to the five tuple information. Therefore, the flow label is defined to allow the network device classify the flow using only three tuple information instead of using five tuple information. However, the flow label causes a significant processing overhead in a network device, specially in a network device in a backbone, when a service quality level per a flow is reserved using the flow label
As a conventional technology related to the IP packet classification for guaranteeing QoS, an apparatus and a method for classifying an IP packet by extracting and combining a destination address (DA) and a source address (SA) from an IP packet header is disclosed in Korea Patent Publication No. 2004-54110 entitled “APPARATUS OF IP PACKET CLASSIFICATION BASED ON TUPLE SPACE SEARCH AND METHOD THEREOF” issued at 9th Dec. 2004. As another conventional technology, a method of improving a speed of packet classification by searching flows in high-speed in an internal cash memory storing a flow table was introduced in Korea Patent Publication No. 2003-89747 entitled “ROUTER PROVIDING DIFFERENTIATED QUALITY OF SERVICE AND FAST INTERNET PROTOCOL PACKET CLASSIFICATION METHOD FOR THE SAME.”
In these conventional technologies, a time of searching is reduced by generating and processing a two-dimensional tuple in a cache for classifying input packets, or a speed of classifying a packet increases by additionally including an internal cache and storing a flow table in the cache. However, a method of generating a new flow label is not disclosed.